<?php

/*
 * Page Lista de Noticias
 * @Autor: Andrés Ubilla - Inicial.cl
 */

class ListaNoticias extends TPage {

    const COMENTARIO = 0;
    const TOP_COMENTARISTAS = 2;
    const ULTIMAS_NOTICIAS = 1;

    public function onLoad($param) {
        parent::onLoad($param);
        if (!$this->IsPostBack) {
            $this->actualizarIntefaz();
        }
    }

    private function actualizarIntefaz() {
        $this->Page->Title = "Lista de Noticias - Diosas del Placer";
        $arr = $this->obtenerDatos();
        $this->iniciarControles($arr);
    }

    private function obtenerDatos() {
        try {
            $oComentario = new Comentario();
            $oComentarioBLL = new ComentarioBLL();
            $arr[self::COMENTARIO] = $oComentarioBLL->listarUltimos();
            $arr[self::TOP_COMENTARISTAS] = $oComentarioBLL->listarTopComentaristas();

            return $arr;
        } catch (Exception $e) {
            SendMail::enviarException("ListaNoticias.obtenerDatos", $e->getMessage());
        }
    }

    private function iniciarControles($arr) {
        if (count($arr) > 0) {
            $this->iniciarControlesComentarios($arr[self::COMENTARIO]);
            $this->iniciarControlesTopComentaristas($arr[self::TOP_COMENTARISTAS]);
        } else {
            
        }
    }

    private function iniciarControlesComentarios($arr) {
        $template = "<li class='li-side'>
                        <img class='user-ul-side' <img src='{#IMG}' alt='' />
                        <span class='fecha-ul-side'>{#FECHA_EXTENDIDA}</span>
                        <span class='sidebar-post'><a href='{#LINK}'>{#TITULO}</a><br>
                            <a class='linkSide' href='{#LINK}' title='Seguir leyendo...'>{#MENSAJE} <i class='icon-share-alt icon-white'></i></a>
                        </span>
                    </li>";
        $templateAux = "";
        $html = "";
        $fecha = "";
        $path = $this->Page->Theme->BaseUrl . "/images/avatar/";
        if (count($arr) > 0) {
            $this->holderUltimosComentarios->Visible = true;
            foreach ($arr as $oComentario) {
                $titulo = "";
                $link = "";
                $tipo = $oComentario->getIdTipoComentario();

                switch ($tipo) {
                    case Tipo_comentario::ESCORT:
                        $titulo = $oComentario->getRegistro();
                        $link = "Perfil";
                        break;
                    case Tipo_comentario::ENTREVISTA:
                        $titulo = $oComentario->getRegistro();
                        $link = "Entrevista";
                        break;
                    case Tipo_comentario::NOTICIA:
                        $titulo = $oComentario->getRegistro();
                        $link = "Noticia";
                        break;
                    case Tipo_comentario::RELATO:
                        $titulo = $oComentario->getRegistro();
                        $link = "Relato";
                        break;
                    case Tipo_comentario::CONCURSO:
                        $titulo = $oComentario->getRegistro();
                        $link = "Concurso";
                        break;
                    default:
                        break;
                }
                $templateAux = $template;
                $templateAux = str_replace("{#IMG}", $path . (Util::isNullOrEmpty($oComentario->getRutaAvatar()) ? "dios.jpg" : $oComentario->getRutaAvatar()), $templateAux);
                $templateAux = str_replace("{#FECHA_EXTENDIDA}", Util::obtenerFechaExtendida($oComentario->getFecha()), $templateAux);
                $templateAux = str_replace("{#TITULO}", $titulo, $templateAux);
                $comentario = Util::reemplazarTextoPorEmoticon($oComentario->getMensaje());
                if (strlen($comentario) > 140) {
                    $comentario = Util::recortarTexto(strip_tags($comentario), 140);
                }
                $templateAux = str_replace("{#MENSAJE}", $comentario, $templateAux);
                $templateAux = str_replace("{#LINK}", "index.php?page=Index." . $link . "&a=" . Util::encriptarUrl(array("id" => $oComentario->getIdRegistro())), $templateAux);

                $html .= $templateAux;
            }
        } else {
            $this->holderUltimosComentarios->Visible = false;
        }
        $this->litUltimosComentarios->Text = $html;
    }
    
    private function iniciarControlesTopComentaristas($arr) {
        $html = "";
        $path = $this->Page->Theme->BaseUrl . "/images/avatar/";
        $aux = "";
        $link = "";
        foreach ($arr as $value) {
            $link = "index.php?page=Index.ViewUsuario&a=" . Util::encriptarUrl(array("id" => $value->getIdUsuarioOrigen()));
            $aux = $value->getUsuario() . ": " . $value->getCantidad() . " comentario(s)";
            $html .= "<a href=\"" . $link . "\" title=\"" . $aux . "\"><img class=\"imgComentaristas\" src=\"" . $path . $value->getRutaAvatar() . "\"></a>";
        }
        $this->litTopComentaristas->Text = $html;
    }

}

?>
